机器学习-白板推导 5 降维

1. 降维 Dimension Reduction

机器学习中,最关心的是泛化误差,降低泛化误差是非常关键的。泛化误差和过拟合等关系图如下

image-20210526151702695

解决过拟合的方法有:

  1. 增加数据量
  2. 正则化,如LassoRidge本质都是降维,Lasso会让部分趋于0,来消除一些特征。
  3. 降维

维度灾难

  1. 高纬度有更大的特征空间,需要更多数据才可以拟合模型。若特征是二值的,则每增加一个特征,数据列都在以2的指数级增长,更何况很多特征不是二值的

  2. 几何角度:

    • 如下图所示,假定正方形边长为1,则其内切圆半径为0.5,正方形面积为1,圆面积为。拓展到3维时,正方形体积为1,内切球体积为

image-20210526153724477

  • 如下图所示,假设外圆半径为,则内圆半径为。在高维情况下,外圆体积为, 中间圆环体积为

    那么有:

image-20210526155434035

​ 从两个例子可以看出,高维情况下,数据占据着空间表明,内部趋于0,数据分布稀疏。

常用的降维方法

  1. 直接降维:特征选择,将不重要的特征扔掉
  2. 线性降维:PCA, MDS(multidimensional scaling)
  3. 非线性降维:流形(将数据嵌入到高维空间),局部线性嵌入

2. 样本均值和方差的矩阵表示

后续PCA和SVD都是在矩阵上操作,所以先将均值和方差矩阵表示。

假设数据集为:

其中

其样本均值为:

样本方差为:

对式1, 2简化表示:

1. 均值

其中,

2. 方差

其中,

,叫做 centering matrxi。并且有 ,那么式4进一步化简得:

3. PCA

PCA基本思想是将所有数据投影到一个子空间取,从而达到降维的目的。这个子空间要满足:

  1. 最大可分性:样本点在这个超平面上的投影尽可能分开,所有数据在子空间中更为分散。
  2. 最近重构性:样本点到这个平面的距离足够近,那么损失的信息最少,即在补空间上的分量小。

关键思想:

  • 一个中心:将原始特征空间重构,将线性相关的特征转化为线性无关的特征。
  • 两个基本点:最大投影方差和最小重构距离.

如下图所示,将原始数据分别投影到,在方向更为分散,因而选择往这个方向投影。

image-20210526234306440

PCA降维步骤:

  1. 数据去中心化 ,就是减去均值,一定得去中心化。
  2. 投影到一个新的方向上,这个新的方向就是重构的特征空间的坐标轴,并且要满足投影后得到的数据的方差最大,即最大投影方差,这样同时也保证了数据重构的距离最小。

4. 最大投影方差理解PCA

假设投影方向为, 并且将其模设为1,,那么原数据去中心化后的数据在方向上的投影为,又因为去中心化后均值为0,所以投影方差为

那么目标函数为:

其中是协方差矩阵。

使用拉格朗日乘子法:

求导得:

其中是协方差矩阵,是特征值,是特征向量。那么只要将协方差矩阵S进行特征值分解,将求得的特征值排序,取需要的前p个,在计算出对应的特征向量,就是PCA的解。

5. 最小重构距离理解PCA

去中心化后数据为, 假设我们将其投影到对应空间后,取前p个特征有:

假定已经按照特征值从大到小排列。

那么目标函数为(去中心数据点到投影点的距离最小),本质上源空间有p个特征,如果降维后选取了q个特征,降维的数据也就是舍弃掉第q+1到第p这几个方向上的信息。

式10跟式7一样有:

这里为协方差矩阵的前k个特征向量。

6. SVD角度看PCA

SVD介绍,如果我们先对数据去中心化,左乘中心矩阵H(在上面第3部分),然后进行SVD分解,因此有:

其中,

  • 的矩阵,并且
  • 的矩阵,并且
  • 的矩阵,且是对角阵。

式5中, 因此:

那么的特征值分解,是特征值矩阵。

若我们构造矩阵如下:

  • 进行特征分解后得到主成分,将投影到主成分的方向后,其坐标为

  • 而直接对进行特征分解,坐标矩阵, 这种方法叫主坐标分析 PCoA ——Principle Coordinate Analysis。

    ​ 原因: , (就是将式14代入),那么有,这里 是特征值, 就是坐标。

T分解和S分解的区别:

  • 的矩阵, 的矩阵
  • 当数据量较少是或特征数较多时用PCoA

Inference

[1] 降维

[2] 主成分分析

[3] Bilibili-机器学习白板系列 降维